}
static function isEnabled() {
global $wgAllowCopyUploads;
- return $wgAllowCopyUploads && parent::isEnabled() && function_exists( 'curl_init' );
+ return $wgAllowCopyUploads && parent::isEnabled();
}
function initialize( $name, $url ) {
# Could not open temporary file to write in
return 'upload-file-error';
}
-
- $opts = array( CURLOPT_HTTP_VERSION => 1.0,
- CURLOPT_LOW_SPEED_LIMIT => 512,
- CURLOPT_WRITEFUNCTION => array( $this, 'uploadCurlCallback' )
- );
- Http::get( $this->mUrl, 10, $opts );
-
+
+ $ch = curl_init();
+ curl_setopt( $ch, CURLOPT_HTTP_VERSION, 1.0); # Probably not needed, but apparently can work around some bug
+ curl_setopt( $ch, CURLOPT_TIMEOUT, 10); # 10 seconds timeout
+ curl_setopt( $ch, CURLOPT_LOW_SPEED_LIMIT, 512); # 0.5KB per second minimum transfer speed
+ curl_setopt( $ch, CURLOPT_URL, $this->mUrl);
+ curl_setopt( $ch, CURLOPT_WRITEFUNCTION, array( $this, 'uploadCurlCallback' ) );
+ curl_exec( $ch );
+ $error = curl_errno( $ch );
+ curl_close( $ch );
+
fclose( $this->mCurlDestHandle );
unset( $this->mCurlDestHandle );
- if( $this->curlErrno !== CURLE_OK )
- return "upload-curl-error" . $this->curlErrno;
+ if( $error )
+ return "upload-curl-error$errornum";
return true;
}
return 0;
}
fwrite( $this->mCurlDestHandle, $data );
- $this->curlErrno = curl_errno( $ch );
return $length;
}
}